<?php
//使用TPL作为适配器重新架构smarty的目的:
/*
 * 1、可以使smarty成为一个单例对象而不用修改smart养的源码内核
 * 2、可以更加有效地维护，符合了面向对象的设计原则
 */
class TPL extends Smarty {
    private static $instance;        //存放对象的静态字段

    //静态方法获取实例对象
    public static function getInstance() {
        if(!self::$instance instanceof self) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    //私有化克隆函数
    private function __clone() {}

    //私有化构造函数
    private function __construct() {
        $this->setConfigs();
    }

    //配置smarty参数
    private function setConfigs() {
        $this->template_dir = SMARTY_TEMPLATE_DIR;
        $this->compile_dir = SMARTY_COMPILE_DIR;
        $this->config_dir = SMARTY_CONFIG_DIR;
        $this->cache_dir = SMARTY_CACHE_DIR;
        $this->caching = SMARTY_CACHING;
        $this->cache_lifetime = SMARTY_CACHE_LIFETIME;
        $this->left_delimiter = SMARTY_LEFT_DELIMITER;
        $this->right_delimiter = SMARTY_RIGHT_DELIMITER;
     }


}



?>